package lv.clientedisqueria.model.estilo;

import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import lv.clientedisqueria.model.DisqueriaTablaModelo;
import lv.mensajeriadisqueria.idomain.IEstilo;

/**
 * Modelo de tabla, controla todos los movimientos que se hacen en una tabla
 */
@SuppressWarnings("serial")
public class EstiloTablaModel extends DisqueriaTablaModelo<IEstilo> {

	private static String[] columns = new String[]{"Descripcion"};
	
	public EstiloTablaModel(final EstiloModel estiloModel) {
		super(estiloModel, columns);
	}

	@Override
	protected void ordenar(List<IEstilo> lista) {
		Collections.sort(getDomains(), new Comparator<IEstilo>() {
			@Override
			public int compare(IEstilo estilo1, IEstilo estilo2) {
				return estilo1.getDescripcion().compareToIgnoreCase(estilo2.getDescripcion());
			}
		});
	}

	@Override
	protected Object valor(int rowIndex, int columnIndex) {
		return getDomains().get(rowIndex).getDescripcion();
	}

	@Override
	protected void modificarEntity(IEstilo oldEstilo, IEstilo newEstilo) {

		oldEstilo.setDescripcion(newEstilo.getDescripcion());
	}

	@Override
	public void actualizarTabla() {
		if (getSeleccionado().getIdEstilo() == null) {
			remover();
		}
	}
}
